﻿
namespace CSharp.Libs.Koc
{
    public enum PhpCommands
    {
        getChat = 0,
        main_src = 1,
        updateSeed = 2,
        allianceGetOtherInfo = 3,
        getUserLeaderboard = 4,
        viewCourt = 5,
        getOnline = 6,
        fetchMapTiles = 7,
        myServers = 8,
        march = 9,
        listReports = 10,
        fetchReport = 11,
        deleteCheckedReports = 12,
        skillupKnight = 13,
        _dispatch = 14,
        sendChat = 15,
        seekknight = 16,
        hireKnight = 17,
        hireSpecialKnight = 18,
        changeTax = 19,
        research = 20,
    }

    public enum SeedCityData
    {
        CityID = 0,
        Name = 1,
        XCoord = 2,
        YCoord = 3,
        Unknown1 = 4,
        Unknown2 = 5
    }

    public enum MarchTypes
    {
        None = 0,
        Transport = 1,
        Reinforce = 2,
        Scout = 3,
        Attack = 4,
        Reassign = 5
    }

    public enum TroopType
    {
        None = 0,
        SupplyTroop = 1,
        Militiaman = 2,
        Scout = 3,
        Pikeman = 4,
        Swordsman = 5,
        Archer = 6,
        Cavalry = 7,
        HeavyCavalry = 8,
        SupplyWaggon = 9,
        Ballista = 10,
        BatteringRam = 11,
        Catapult = 12
    }

    public enum ResourceType
    {
        Food = 1,
        Wood = 2,
        Stone = 3,
        Ore = 4,
        Aetherstone = 5
    }

    public enum MapType
    {
        Bog = 0,
        Grasslang = 10,
        Lake = 11,
        Woods = 20,
        Hills = 30,
        Mountain = 40,
        Plain = 50,
        City = 51,
        Ruin = 52,
        CityMist = 53,
        Camelot1 = 101,
        Camelot2 = 102,
        Camelot3 = 103,
        Camelot4 = 104,
        Camelot5 = 105,
        Camelot6 = 106
    }

    public enum UserStatus
    {
        Normal = 1,
        BeginnersProtection = 2,
        Truce = 3,
        Vacation = 4
    }

    public enum MapProvinceId
    {
        Tintagel = 1,
        Cornwall = 2,
        Astolat = 3,
        Lyonesse = 4,
        Corbenic = 5,
        Paimpont = 6,
        Cameliard = 7,
        Sarras = 8,
        Canoel = 9,
        Avalon = 10,
        Carmathen = 11,
        Shallott = 12,
        Cadbury = 13,
        Glastonbury = 14,
        Camlann = 15,
        Orkney = 16,
        Dore = 17,
        Logres = 18,
        Caerleon = 19,
        Parmenie = 20,
        BodminMoor = 21,
        Cellwig = 21,
        Listeneise = 22,
        Albion = 24
    }

    public enum KnightRoles
    {
        Unassigned = 0,
        Foreman = 1,
        Marshal = 2,
        Alchemystic = 3,
        Steward = 4
    }

    public enum MapBorders
    {
        MapSizeMin = 0,
        MapSizeMax = 749,
        MapIllegalAreaMin = 300,
        MapIllegalAreaMax = 449,
    }

    /// <summary>research.php parameter tid = tech id (?)</summary>
    /// <history>created  09.08.2012</history>
    public enum ResearchTech //tid parameter
    {
        Fertilizer = 1,
        Logging = 2,
        Stoneworking = 3,
        Mining = 4,
        Geometry = 5,
        EagleEyes = 6,
        PoisonedEdge = 8,
        MetalAlloys = 9,
        FeatherweightPowder = 10,
        MagicalMapping = 11,
        AlloyHorseshoes = 12,
        Fletching = 13,
        ShrinkingPowder = 14,
        HealingPotions = 15,
        GiantsStrength = 16,
        ForgemastersResolve = 17,
    }

    public enum BuildingTypes
    {
        Castle = 0,
        Farm = 1,
        Sawmill = 2,
        Quarry = 3,
        Mines = 4,
        Cottage = 5,

        KnightsHall = 7,
        Embassy = 8,

        Market = 10,
        AlchemyLab = 11,
        RallyPoint = 12,
        Barracks = 13,
        WatchTower = 14,
        Blacksmith = 15,
        Workshop = 16,
        Stable = 17,
        ReliefStation = 18,

        DruidBarracks = 22,
        DruidApothecary = 23,
        FeyBarracks = 24,
        FeyAltar = 25,
        BritonBarracks = 26,
        BritonWorkshop = 27,

        WoodGuardian = 50
    }

    public enum SeedGoldData
    {
        Gold = 0,
        Tax = 1,
        Unknown = 2
    }

    public enum SeedResourceData
    {
        AmountX3600 = 0,
        Unknown1 = 1,
        Unknown2 = 2,
        Usage = 3
    }

    /// <summary>
    /// queue_con in seed
    /// </summary>
    public enum SeedQueueConstruction
    {
        BuildingType = 0,
        Level = 1,
        BuildingId = 2,
        TimestampStart = 3,
        TimestampFinish = 4,
        Unknown2 = 5,
        Unknown3 = 6,
        Unknown4 = 7
    }

    /// <summary>
    /// buildings in seed
    /// </summary>
    public enum SeedBuildingsPositions
    {
        BuildingType = 0,
        Level = 1,
        SlotNo = 2,
        BuildingId = 3
    }

}
